<%-- 
    Document   : nuevasubida
    Created on : 14/05/2012, 04:48:27 PM
    Author     : Inicial
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
        <%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %>
<%@ page import="org.apache.commons.io.*" %>
<%@ page import="java.io.*" %>
<%@page import="java.util.*" %>


<%
            boolean isMultipart = ServletFileUpload.isMultipartContent(request);

            if (isMultipart)
            {
                DiskFileItemFactory factory = new DiskFileItemFactory();

                // tamaño por encima del cual los ficheros son escritos directamente en disco
                factory.setSizeThreshold(4096);

                // directorio en el que se escribirán los ficheros con tamaño superior al soportado en memoria
                factory.setRepository(new File("c:\\"));

                ServletFileUpload upload = new ServletFileUpload(factory);

                //El tamaño maximo de los achivos a cargar
                upload.setSizeMax(1024 * 512);


                // ordenamos procesar los ficheros
                List items = upload.parseRequest(request);

                for (int i = 0; i < items.size(); i++)
                {
                    FileItem item = (FileItem) items.get(i);

                    //Si es un archivo lo guardamos como lo tenias
                    if (!item.isFormField())
                    {
                        String fieldName = item.getFieldName();
                        String fileName = item.getName();
                        String contentType = item.getContentType();
                        boolean isInMemory = item.isInMemory();
                        long sizeInBytes = item.getSize();
                        out.println("<br>Nos han subido el fichero <b>" + fileName + "</b>");
                        // construimos un objeto file para recuperar el trayecto completo
                        File fichero = new File("foto 1");
                        // nos quedamos solo con el nombre y descartamos el path
                        fichero = new File("c:\\pruebas\\" + "foto1");
                        // escribimos el fichero colgando del nuevo path
                        item.write(fichero);
                        out.println("<p> fieldName --> " + fieldName);
                        out.println("<p>   fileName --> " + fileName);
                        out.println("<p>   contentType --> " + contentType);
                        out.println("<p>   isInMemory --> " + isInMemory);
                        out.println("<p>   sizeInBytes --> " + sizeInBytes);
                        //File uploadedFile = new File(directorioDestino, "fotito. Jpg");
                    }
                    //Si no es un archivo solo mostramos su valor (en este caso el del inputy llamado txt)
                    else
                    {
                        out.println("<br/>");
                        out.println("<p> El valor del campo <b>" + item.getFieldName() + "</b> --> " + item.getString());
                    }
                }
            }
%>
    </body>
</html>
